package com.coder4j.starter.mybatis.provider;

import lombok.Data;

import java.util.List;

/**
 * Provider 使用的视图对象
 * @SelectProvider、@UpdateProvider 等注解只能用一个实体对象传参，多参数传递需要用 Map，
 * 因此，使用同一的对象来存储所有的内容
 * @author Keller
 * @date 2021-12-19 11:43:00
 */
@Data
public class ProviderVO<T> {

    /**
     * 表名
     */
    private String tableName;

    /**
     * 实体类
     */
    private T entity;

    /**
     * 实体类列表
     */
    private List<T> list;

    /**
     * Id
     */
    private Object id;

    /**
     * Id列表
     */
    private List<Object> idList;

    /**
     * 忽略空值
     */
    private Boolean ignoreNull = false;

    public ProviderVO(String tableName,T entity) {
        this.tableName = tableName;
        this.entity = entity;
    }
}
